package com.xy.iot.serial.port.service;
import io.netty.channel.rxtx.RxtxChannelConfig;
/**
 * netty链接串口
 */
public interface RxtxClientService {

    /**
     * netty链接打开串口
     *
     * @param portName 串口名称
     * @param timeOut  超时时间
     * @param baudRate 波特率
     * @param dataBits 数据位
     * @param stopBits 停止位
     * @param parity   校验位（奇偶位）
     */
    void openComPort(String portName, int timeOut, int baudRate, int dataBits, int stopBits, int parity);
    /**
     * 发送数据
     * @param bytes
     */
    public  void writeAndFlush(byte[] bytes);
    /**
     * 设置串口配置信息
     * @param channelConfig 配置信息
     * @param timeOut 超时时间
     * @param baudRate 波特率
     * @param dataBits 数据位
     * @param stopBits 停止位
     * @param parity 校验位（奇偶位）
     */
    void setChannelConfig(RxtxChannelConfig channelConfig,int timeOut, int baudRate, int dataBits, int stopBits, int parity);
    /**
     * 关闭串口
     */
    void stop();
    /**
     * 初始化
     * @param threadNum 线程数量
     */
    void init(int threadNum);
}
